查看原文
其他

凌晨2点,我教女友,使用全球最大的同性交友社区?

鹏磊 搜云库技术团队 2019-11-01
点击上面 蓝色字体关注我们

技术 / 架构 / 职场 / 面试  / 内推

GitHub被戏称为全球最大同性交友网站,其实道理都懂,活跃人数男性占据95%以上,所以。。。就是这样了。

跟女朋友有啥关系呢?,女友不会GitHub的使用啊,为什么要教这些呢?

因为Git已经成为程序员必备技能之一,而GitHub做为做流行的Git仓库托管平台,其不仅提供Git仓库托管,还是一个非常棒的技术人员社交平台,可以通过开源的项目进行协作、交流,是现在优秀的工程师必须娴熟运用的。

文章目录

Github 是什么 Github 优势有哪些 GitHub 注册 GitHub 验证 GitHub 上创建仓库 GitHub 修改并提交 GitHub Fork 使用 Github watch 功能 Github star 功能

Github 是什么

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。 GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。

作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。

GitHub可以托管各种git库,并提供一个web界面,但它与外国的SourceForge、Google Code或中国的coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

Github 优势有哪些

GitHub 之所以如此受欢迎,它的优势是不容忽视的。GitHub的优势主要有以下七点:

1、GitHub 只支持 Git 格式的版本库托管,而不像其他开源项目托管平台还对CVS、SVN、Hg 等格式的版本库进行托管。GitHub 的哲学很简单,既然 Git 是最好的版本控制系统之一(对于很多喜欢 Git 和 GitHub 的人没有之一),没有必要为兼顾其他版本控制系统而牺牲 Git 某些独有特性。因此没有支持其他版本控制系统的历史负担,是 GitHub 成功的要素之一。

2、GitHub 对 Git 版本库提供了完整的协议支持,支持 HTTP 智能协议、Git-daemon、SSH 协议。

3、GitHub 提供在线编辑文件的功能,不熟悉 Git 的用户也可以直接通过浏览器修改版本库里的文件。

4、将社交网络引入项目托管平台是 GitHub 的创举。用户可以关注项目、关注其他用户进而了解项目和开发者动态。

5、项目的 Fork 和 Pull Request 构成 GitHub 最独具一格的工作模式。对提交代码的逐行评注及 Pull Request 构成 GitHub 特色的代码审核。

6、GitHub 通过私有版本库托管、面向企业的版本库托管和项目管理平台、人员招聘等付费服务获得了商业上的成功,这种成功使得 GitHub 不必以页面中嵌入广告的方式维持运营,最大的受益者还是用户。

7、GitHub 网站采用 Ruby on Rails 架构,在 Web 设计中运用了大量的JavaScript、AJAX、HTML5 等技术,支持对使用 Markdown 等标记语言的内容进行渲染和显示等。关注细节使得 GitHub 成为了项目托管领域的后起之秀。

GitHub 注册

要想使用GitHub,必须先拥有GitHub账号。本文将教大家如何快速注册GitHub账号。

GitHub账号注册步骤:

1、首先打开 https://github.com 进行注册。

2、在打开的页面中点击「Sign up」注册,如图所示。

3、在接下来的页面中填写,用户名,email,密码,验证码,点击「Create an account」按钮创建账户,如下图。

4、选择账户类型 ,这里我们默认选择 “Free” 类型,点击「Continue」按钮,如图。

5、定制您GitHub的体验,点击「Submit」按钮,如图。

6、验证您的电子邮件地址

GitHub 验证

要想正常使用GitHub,我们需要安装Git,然后通过Git来验证GitHub。下面是Git的安装步骤以及GitHub的验证方法介绍。

关于Git的安装方法,可以参考:https://jingyan.baidu.com/article/9f7e7ec0b17cac6f2815548d.html

Git安装完成后,打开 Terminal 命令(针对苹果系统用户)或者命令提示行(针对 Windows 和 Linux 用户)。

然后告诉 Git 你的姓名,以便你的提交能被正确地标记。在 $ 后输入下面的内容:

  1. $ git config --global user.name "YOUR NAME"

告诉 Git 邮箱地址,以便与你的 Git 提交进行关联。你指定的邮箱要和邮箱设置里的是同一个。如何保持你的邮箱地址隐藏,请参考:https://help.github.com/articles/setting-your-commit-email-address-on-github/

通过 Git 验证 GitHub

当你通过 Git 连接到一个 GitHub 仓库后,我们需要验证 GitHub,这里有两种验证方法:

1、通过 HTTPS 建立连接(推荐)

如果选择 HTTPS 方式,我们可以用一个证书小帮手把 GitHub 密码缓存在 Git。

2、通过 SSH 建立连接

如果选择 SSH 方式,我们需要在电脑中生成 SSH keys,用来从 GitHub 中 push 或 pull。

GitHub 上创建仓库

一个仓库通常用来组织一个单独的项目。该仓库可以包含你项目中的所有文件,如文件夹、文件、图片、视频、电子表格、数据集等。我们建议包含一个README文件,或者你自定义的用来记录项目信息的文件。GitHub将默认在你创建仓库的时候添加它。在创建的同时还提供了权限许可选项。

你可以用你的“hello-world”仓库来存储你的想法、资源,甚至用它来和别人分享、讨论任何事情。

创建一个新的仓库

1、在页面的最右上角,你的头像的左边,点击“+”,在弹出的下拉选项中选择“New repository”。

2、在仓库名称输入框中输入你的仓库名称:“hello-world”。

3、写一个简短的描述。

4、选择你的仓库类型为公有或者私有:

Public:公有仓库对于一个刚入门的新手来说是一个不错的选择。这些仓库在 GitHub 上对于每个人是可见,你可以从协作型社区中受益。

Private:私有仓库需要更多地步骤。它们只对于你来说是可用的,这个仓库的所有者属于你和你所指定要分享的合作者。私有仓库仅仅对付费账户可用。

5、勾选“Initialize this repository with a README”。

最后点击“Create repository”按钮,完成创建。

GitHub 修改并提交

在GitHub中,保存更改被称为“提交”。每一次提交都需要写一段我们为什么做出修改的备注说明。这些备注说明将对你的更改做出记录,其他伙伴看到之后就知道你每次都提交了什么。

做出修改并提交:

1、点击“README.md”文件,切换到“README.md”内容页面

2、点击编辑框右上角的铅笔按钮,进入编辑界面

3、在 Edit file 标签上,输入一些关于你自己的信息。

4、在下方的“提交更改”框中,输入你做出此次修改的备注说明

5、点击下方的“Commit changes”按钮进行修改提交。

GitHub Fork 使用

Fork 是对一个仓库的克隆。克隆一个仓库允许你自由试验各种改变,而不影响原始的项目。

一般来说,forks 被用于去更改别人的项目(贡献代码给已经开源的项目)或者使用别人的项目作为你自己想法的初始开发点。

提出更改别人的项目

使用 forks 提出改变的一个很好的例子是漏洞修复。与其记录一个你发现的问题,比如:

●Fork 这个仓库

●进行修复

●向这个项目的拥有者提交一个 pull requset

如果这个项目的拥有者认同你的成果,他们可能会将你的修复更新到原始的仓库中!

使用别人的项目作为你自己想法的初始开发点

开源的核心是共享代码,我们可以制作更好、更可靠的软件。

事实上,当你在 GitHub 上创建一个仓库时,你可以选择自动包含一个许可文件,这个文件决定你是否希望将你的项目分享给其他人。

Fork 一个仓库分为简单的两步:

1、在 GitHub 上,定位到 souyunku/SpringBootExamples 仓库。

2、在页面右上角,点击 Fork 按钮。

fork 的仓库中

就这样!现在你已经 fork 这个原始的 souyunku/SpringBootExamples 仓库。

同步你的 Fork 仓库

你或许已经 fork 一个项目为了提交更改向 upstream 或原始仓库。这种情况下,很好的实现了将 upstream 仓库定期同步到你的 fork。要做到这一点,你需要在命令行中使用 Git。你可以使用你刚刚 fork 的 octocat/Spoon-Knife 仓库去练习设置 upstream 仓库。

第一步:安装 Git

你首先应该 安装 Git,如果你还没有。也不要忘记 通过 Git 验证 GitHub。

第二步:为你 fork 的仓库创建一个本地克隆

现在,你已经成功 fork Spoon-Knife 仓库,但在你自己的计算机上并没有这个仓库的文件。让我们克隆你 Fork 的代码到你本地的计算机上。

1、在 GitHub 上,定位到你 fork 的 Spoon-Knife 仓库。

2、在你 fork 的仓库页面的右侧边栏,点击复制图标复制你 fork 的 URL。

3、打开 Terminal 命令(针对苹果系统用户)或者命令提示行(针对 Windows 和 Linux 用户)。

4、输入 git clone,然后粘贴在步骤 2 复制的 URL。它看起来就像如下所示,用你 GitHub 的用户名代替 YOUR-USERNAME:

  1. $ git clone https://github.com/GolangStack/SpringBootExamples.git

5、按下 回车键 ,你的本地克隆就创建了。

  1. $ git clone https://github.com/GolangStack/SpringBootExamples.git

  2. Cloning into 'SpringBootExamples'...

  3. remote: Enumerating objects: 3, done.

  4. remote: Counting objects: 100% (3/3), done.

  5. remote: Compressing objects: 100% (3/3), done.

  6. remote: Total 1203 (delta 0), reused 0 (delta 0), pack-reused 1200

  7. Receiving objects: 100% (1203/1203), 1.08 MiB | 566.00 KiB/s, done.

  8. Resolving deltas: 100% (267/267), done.

  9. Checking connectivity... done.

现在,你已经有了针对你 fork 的 SpringBootExamples 仓库的本地克隆代码!

第三步:通过配置 git 来同步你 fork 的原始 SpringBootExamples 仓库

当你 fork 一个项目是为了提出更改这个原始的仓库,你可以配置 Git 将原始的或者 upstream 的变化更改到你本地。

1、在 GitHub 上,定位到 GolangStack/SpringBootExamples 仓库。

2、在这个仓库页面的右侧边栏,点击复制图标复制这个仓库的 URL。

3、打开 Terminal 命令(针对 Mac 用户)或提示命令行(Windows 和 Linux 用户)。

4、更改到你在步骤 2(创建一个本地)创建的你的 fork 的本地的目录。

5、输入 git remove -v,按下回车键,你将会看到你的 fork 当前配置的远程仓库:

  1. $ git remote -v

  2. origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)

  3. origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

6、输入 git remote add upstream,然后粘贴你在步骤 2 复制的 URL 并按下回车键。它看起来如下所示:

  1. $ git remote add upstream https://github.com/GolangStack/SpringBootExamples.git

7、验证你 fork 里新指明的这个 upstream 仓库,再次输入 git remote -v。你将会看到你 fork 的 URL 作为原始的地址,而原始的仓库的 URL 作为 upstream。

  1. $ git remote -v`

  2. origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)

  3. origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

  4. upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)

  5. upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

现在,你可以利用几个 Git 命令保持你的 fork 与 upstream 的仓库的同步。

Github watch 功能

Watch翻译成中文是“观看”的意思,在github中,我们可以将其翻译成观察的意思。

在github中,点击watch我们可以看到以下列表:

对于别人的项目,默认自己都处于 Not watching 的状态,当你选择 Watching,表示你以后会关注这个项目的所有动态,这个项目以后只要发生变动,如被别人提交了 pull request、被别人发起了issue等等情况,你都会在自己的个人通知中心,收到一条通知消息,如果你设置了个人邮箱,那么你的邮箱也可能收到相应的邮件。

如下,我 watching 了开源项目android-cn/android-discuss,那么以后任何人只要在这个项目下提交了 issue 或者在 issue 下面有任何留言,我的通知中心就会通知我。如果你配置了邮箱,你还可能会因此不断的收到通知邮件。

如果你不想接受这个项目的所有通知,那么点击 Not Watching 即可。

Github star 功能

star 翻译过来是星,但这个翻译没任何具体意义,在Github中,可以解释为 关注或者 点赞更合适,当你点击 star,表示你喜欢这个项目或者通俗点,可以把他理解成朋友圈的点赞吧,表示对这个项目的支持。

不过相比朋友圈的点赞,github 里面会有一个列表,专门收集了你所有 star 过的项目,点击 github 个人头像,可以看到 your stars 的条目,点击就可以查看你 star 过的所有项目了,如下图所示

不过,star 列表很容易出现这样的问题:如果你平时比较爱逛 Github, star 的项目过多后怎么快速查找自己想要的项目怎么办?

这时,如果 github 可以提供一个分类功能该多好,就像微信公众号文章的收藏,你在点击微信菜单中的收藏后,微信会提示你对收藏的文章设置 tag。这样设置的好处是,以后在微信收藏列表中查找项目时,可以根设置的 tag 归类查找,这样查找效率会提高不少。

但是不知道 github 的产品经理是怎么想的,github 本身没有这个功能。但是 github 这个全球最大的程序员社区从来也不缺有思想有执行力的程序员。

这不,现在就有人做了一个 Chrome 插件,这个插件可以对 github 中所有 star 的项目进行分类,如下所示,注意看图片右侧,多了一个 Filter by tag 列表。

尽管这个插件已经很好了,但是还是有缺点,你只能 star 完项目了,然后去 star 列表,才能对项目打 tag,这是很不方便的。真心希望,未来 github 可以自己支持对 star 的 tag 处理。

参考:https://www.w3cschool.cn/github

版权申明:部分内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知我们,我们会立即删除并表示歉意。谢谢!

作者:鹏磊

来源:微信公众号,搜云库技术团队

整编:搜云库技术团队,欢迎广大技术人员投稿

投稿邮箱:admin@souyunku.com

如果对本文的内容有疑问,请在文章留言区留言,谢谢。

》》》点击:永不失效的福利《《《

更多技术干货


推荐:最新200篇:技术文章整理 

如何保障消息100%成功投递给MQ中间件 
知乎千万级高性能长连接网关是如何搭建的 
淘宝服务端高并发分布式架构演进之路 
面试官,聊一下你对MySQL索引实现原理? 
面试问,Kafka为什么速度那么快? 
震惊了,原来这才是Kafka的“真面目” 
MySQL 索引为什么要用B+树?而不是其他树

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存